435 research outputs found

    Set-Theoretic Types for Polymorphic Variants

    Get PDF
    Polymorphic variants are a useful feature of the OCaml language whose current definition and implementation rely on kinding constraints to simulate a subtyping relation via unification. This yields an awkward formalization and results in a type system whose behaviour is in some cases unintuitive and/or unduly restrictive. In this work, we present an alternative formalization of poly-morphic variants, based on set-theoretic types and subtyping, that yields a cleaner and more streamlined system. Our formalization is more expressive than the current one (it types more programs while preserving type safety), it can internalize some meta-theoretic properties, and it removes some pathological cases of the current implementation resulting in a more intuitive and, thus, predictable type system. More generally, this work shows how to add full-fledged union types to functional languages of the ML family that usually rely on the Hindley-Milner type system. As an aside, our system also improves the theory of semantic subtyping, notably by proving completeness for the type reconstruction algorithm.Comment: ACM SIGPLAN International Conference on Functional Programming, Sep 2016, Nara, Japan. ICFP 16, 21st ACM SIGPLAN International Conference on Functional Programming, 201

    Focusing on Refinement Typing

    Full text link
    We present a logically principled foundation for systematizing, in a way that works with any computational effect and evaluation order, SMT constraint generation seen in refinement type systems for functional programming languages. By carefully combining a focalized variant of call-by-push-value, bidirectional typing, and our novel technique of value-determined indexes, our system generates solvable SMT constraints without existential (unification) variables. We design a polarized subtyping relation allowing us to prove our logically focused typing algorithm is sound, complete, and decidable. We prove type soundness of our declarative system with respect to an elementary domain-theoretic denotational semantics. Type soundness implies, relatively simply, the total correctness and logical consistency of our system. The relative ease with which we obtain both algorithmic and semantic results ultimately stems from the proof-theoretic technique of focalization.Comment: 61 pages + appendix with proofs, Just Accepted version of paper (with new title) at ACM Transactions on Programming Languages and System

    Finite covers of random 3-manifolds

    Full text link
    A 3-manifold is Haken if it contains a topologically essential surface. The Virtual Haken Conjecture posits that every irreducible 3-manifold with infinite fundamental group has a finite cover which is Haken. In this paper, we study random 3-manifolds and their finite covers in an attempt to shed light on this difficult question. In particular, we consider random Heegaard splittings by gluing two handlebodies by the result of a random walk in the mapping class group of a surface. For this model of random 3-manifold, we are able to compute the probabilities that the resulting manifolds have finite covers of particular kinds. Our results contrast with the analogous probabilities for groups coming from random balanced presentations, giving quantitative theorems to the effect that 3-manifold groups have many more finite quotients than random groups. The next natural question is whether these covers have positive betti number. For abelian covers of a fixed type over 3-manifolds of Heegaard genus 2, we show that the probability of positive betti number is 0. In fact, many of these questions boil down to questions about the mapping class group. We are lead to consider the action of mapping class group of a surface S on the set of quotients pi_1(S) -> Q. If Q is a simple group, we show that if the genus of S is large, then this action is very mixing. In particular, the action factors through the alternating group of each orbit. This is analogous to Goldman's theorem that the action of the mapping class group on the SU(2) character variety is ergodic.Comment: 60 pages; v2: minor changes. v3: minor changes; final versio

    Draft genome sequence of Methyloferula stellata AR4, an obligate methanotroph possessing only a soluble methane monooxygenase

    Get PDF
    Methyloferula stellata AR4 is an aerobic acidophilic methanotroph, which, in contrast to most known methanotrophs but similar to Methylocella spp., possesses only a soluble methane monooxygenase. However, it differs from Methylocella spp. by its inability to grow on multicarbon substrates. Here, we report the draft genome sequence of this bacterium

    Franck-Condon Factors and Radiative Lifetime of the A^{2}\Pi_{1/2} - X^{2}\Sigma^{+} Transition of Ytterbium Monoflouride, YbF

    Full text link
    The fluorescence spectrum resulting from laser excitation of the A^{2}\Pi_{1/2} - X^{2}\Sigma^{+} (0,0) band of ytterbium monofluoride, YbF, has been recorded and analyzed to determine the Franck-Condon factors. The measured values are compared with those predicted from Rydberg-Klein-Rees (RKR) potential energy curves. From the fluorescence decay curve the radiative lifetime of the A^{2}\Pi_{1/2} state is measured to be 28\pm2 ns, and the corresponding transition dipole moment is 4.39\pm0.16 D. The implications for laser cooling YbF are discussed.Comment: 5 pages, 5 figure

    Reactions at Noble Metal Contacts with Methylammonium Lead Triiodide Perovskites: Role of Underpotential Deposition and Electrochemistry

    Get PDF
    Chemical reactivity of halide perovskites coupled with a low energy of formation makes it a challenge to characterize material properties and achieve long-term device stability. In this study, we elucidate electrochemical reactions occurring at the methylammonium lead triiodide (MAPbI3)/Au interface. X-ray photoemission spectroscopy is used to identify a type of reduction/oxidation reaction termed underpotential deposition (UPD) involving lead, iodine, and hydrogen occurring at interfaces with noble metals. Changes in surface compositions and oxidation states suggest that UPD derived adsorbates at MAPbI3/Au interfaces lower the energy barrier for release of volatile HI and/or I2catalyzing degradation at exposed contacts. Additionally, comparison to PbI2/Au interfaces demonstrates that the presence of methylammonium/methylamine accelerates the formation of a Pb0 adlayer on the Au. Reactions involving UPD Pb0 can transform the typically anodic (hole collecting) Au to a cathode in a photovoltaic measurement. Cyclic voltammetry reveals electrochemical reaction peaks in indium tin oxide (ITO)/MAPbI3/Au devices occurring within voltage ranges commonly used for perovskite characterization. The electrochemical stability window of this device architecture is measured to be between−0.5 V and 0.9 V. Voltage induced interfacial reactions contribute to reversible electrochemical peaks, hysteresis, switchable perovskite diode polarity, and permanent degradation at larger voltages. These types of surface reactions alter the interface/interphase composition beyond ion accumulation, provide a source for the diffusion of defects, and contribute to electrode material dependent current-voltage hysteresis. Moreover, the results imply fundamental limitations to achieving high device stability with noble metals and/or methylammonium containing perovskites

    Bidirectional Type Checking for Relational Properties

    Full text link
    Relational type systems have been designed for several applications including information flow, differential privacy, and cost analysis. In order to achieve the best results, these systems often use relational refinements and relational effects to maximally exploit the similarity in the structure of the two programs being compared. Relational type systems are appealing for relational properties because they deliver simpler and more precise verification than what could be derived from typing the two programs separately. However, relational type systems do not yet achieve the practical appeal of their non-relational counterpart, in part because of the lack of a general foundations for implementing them. In this paper, we take a step in this direction by developing bidirectional relational type checking for systems with relational refinements and effects. Our approach achieves the benefits of bidirectional type checking, in a relational setting. In particular, it significantly reduces the need for typing annotations through the combination of type checking and type inference. In order to highlight the foundational nature of our approach, we develop bidirectional versions of several relational type systems which incrementally combine many different components needed for expressive relational analysis.Comment: 14 page
    • …
    corecore